// 平方   案例用作一类事物具有相同的属性
function makePower(power) {
    return function (number) {
        return Math.pow(number, power);
    };
}

const power2 = makePower(2);

console.log(power2(3));

// 函数在执行的时候会放到一个执行栈上当函数执行完毕之后会从执行栈上移除，但是
// 堆上的作用域成员因为被外部引用不能释放，因此内部函数依然可以访问外部函数的成员
